package com.letian.record.domain;

import java.math.BigDecimal;
import java.sql.Time;
import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.letian.common.annotation.Excel;
import com.letian.common.core.domain.BaseEntity;
import reactor.util.annotation.NonNull;

/**
 * 记录订单对象 record_order
 * 
 * @author bmz
 * @date 2023-07-20
 */
public class RecordOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 编码 */
    private Long orderId;

    /** 类型 */
    private String orderType;

    /** 描述 */
    @Excel(name = "描述")
    @NonNull()
    private String orderDescription;

    /** 价值 */
    @Excel(name = "价值")
    private BigDecimal money;

    /** 记录日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记录日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date recordDate;

    /** 记录时间 */
    @JsonFormat(pattern = "HH:mm:ss")
    @Excel(name = "记录时间", width = 30, dateFormat = "HH:mm:ss")
    private Time recordTime;

    /** 拥有者 */
    private String owner;

    /** 删除标志 */
    private String delFlag;

    /** 更新次数 */
    private Long updateCount;

    /** 记录订单项信息 */
    private List<RecordOrderItem> recordOrderItemList;

    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }
    public void setOrderType(String orderType) 
    {
        this.orderType = orderType;
    }

    public String getOrderType() 
    {
        return orderType;
    }
    public void setOrderDescription(String orderDescription) 
    {
        this.orderDescription = orderDescription;
    }

    public String getOrderDescription() 
    {
        return orderDescription;
    }
    public void setMoney(BigDecimal money) 
    {
        this.money = money;
    }

    public BigDecimal getMoney() 
    {
        return money;
    }
    public void setRecordDate(Date recordDate) 
    {
        this.recordDate = recordDate;
    }

    public Date getRecordDate() 
    {
        return recordDate;
    }
    public void setRecordTime(Time recordTime)
    {
        this.recordTime = recordTime;
    }

    public Time getRecordTime()
    {
        return recordTime;
    }
    public void setOwner(String owner) 
    {
        this.owner = owner;
    }

    public String getOwner() 
    {
        return owner;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }
    public void setUpdateCount(Long updateCount) 
    {
        this.updateCount = updateCount;
    }

    public Long getUpdateCount() 
    {
        return updateCount;
    }

    public List<RecordOrderItem> getRecordOrderItemList()
    {
        return recordOrderItemList;
    }

    public void setRecordOrderItemList(List<RecordOrderItem> recordOrderItemList)
    {
        this.recordOrderItemList = recordOrderItemList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderId", getOrderId())
            .append("orderType", getOrderType())
            .append("orderDescription", getOrderDescription())
            .append("money", getMoney())
            .append("recordDate", getRecordDate())
            .append("recordTime", getRecordTime())
            .append("owner", getOwner())
            .append("delFlag", getDelFlag())
            .append("createTime", getCreateTime())
            .append("createBy", getCreateBy())
            .append("updateTime", getUpdateTime())
            .append("updateBy", getUpdateBy())
            .append("updateCount", getUpdateCount())
            .append("remark", getRemark())
            .append("recordOrderItemList", getRecordOrderItemList())
            .toString();
    }
}
